package v1beta1

import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

// EipSpec defines the desired state of eip
type EipSpec struct {
	OwnerId         string `json:"owner_id,omitempty"`
	CloudResourceId string `json:"cloudresource_id,omitempty"`
	Bindwidth       int    `json:"bindWidth,omitempty"`
	ShareType       string `json:"shareType,omitempty"`
	ChargeMode      string `json:"chargeMode,omitempty"`
}

// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:resource:shortName=eip
// +kubebuilder:subresource:status

// Eip is the Schema for the ip API
type Eip struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec EipSpec `json:"spec,omitempty"`
}

// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

// EipList contains a list of eip item
type EipList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Eip `json:"items"`
}
